const path = require('path');
// const fs = require('fs')
const fs = require('fs-extra');//使用第三方增强fs
const Inquirer= require('inquirer');// 命令行选择工具
const chalk = require('chalk');
const Creator = require('./Creator');

module.exports = async function(projectName,options){
    
    const cwd = process.cwd();// 获取当前执行命令的工作目录
    const targetDir = path.join(cwd,projectName)
    // 判断当前目录是否存在,如果存在了，并且加了force参数就进行覆盖
    if(fs.existsSync(targetDir)){
        if(options.force){
            await fs.remove(targetDir)
        }else{
            // 提示用户是否确定要覆盖
           let {actionResult} =  await Inquirer.prompt([
                {
                    name:'actionResult',
                    type:'list',
                    message:'当前目录已经存在',
                    choices:[
                        {name:'Overwrite',value:'overwrite'},
                        {name:'Cancel',value:false}
                    ]
                }
            ])
            // 用户选择cance之后
            if(!actionResult){
                return;
            }else if(actionResult === 'overwrite'){
                console.log(`\r\n${chalk.red('Removing....')}`)
                await fs.remove(targetDir)
            }
            
        }
    }
    // 创建项目

    const creator = new Creator(projectName,targetDir)
    // creator.create() // 通过api 获取组织下所有到库供用户选择
    creator.createDirect(); // 直接使用库地址clone

}